package com.autumn.platform.core.support.param.single;

import com.autumn.platform.core.support.param.base.IParam;

public interface ISingleParam extends IParam {

    /**
     * 获取存储方式
     * 
     * @return 存储方式
     */
    public String getStoreType();

    /**
     * 获取数据类型
     * 
     * @return 数据类型
     */
    public String getDataType();

    /**
     * 获取默认值
     * 
     * @return 默认值
     */
    public String getDefaultValue();

    /**
     * 获取值
     * 
     * @return
     */
    public String getValue();

    /**
     * 获取取值规则，如数据字典，数据范围等
     * 
     * @return 取值规则
     */
    public String getValueRule();

    /**
     * 获取取值规则的参数，如数据字典类型
     * 
     * @return 取值规则的参数
     */
    public String getValueRuleParam();

    /**
     * 是否允许为空
     * 
     * @return
     */
    public boolean isAllowEmpty();

    /**
     * 最小长度
     * 
     * @return
     */
    public int getMinLength();

    /**
     * 最大长度
     * 
     * @return
     */
    public int getMaxLength();
}
